// common/dateUtil.js

/**
 * 获取当前年月日（格式：YYYY-MM-DD）
 * @returns {String} 格式化后的日期字符串，如 "2025-10-16"
 */
export const getCurrentDate = () => {
  const date = new Date(); // 获取当前时间对象
  
  // 获取年（4位数字）
  const year = date.getFullYear();
  
  // 获取月（0-11，需+1），并补零（确保两位数）
  const month = (date.getMonth() + 1).toString().padStart(2, '0');
  
  // 获取日（1-31），补零（确保两位数）
  const day = date.getDate().toString().padStart(2, '0');
  
  // 拼接为 YYYY-MM-DD 格式
  return `${year}-${month}-${day}`;
};

/**
 * 获取当前年月日（中文格式：YYYY年MM月DD日）
 * @returns {String} 如 "2025年10月16日"
 */
export const getCurrentDateCN = () => {
  const date = new Date();
  const year = date.getFullYear();
  const month = (date.getMonth() + 1).toString().padStart(2, '0');
  const day = date.getDate().toString().padStart(2, '0');
  return `${year}-${month}-${day}`;
};

// 后端返回时间-转换
export function formatTime(timeStr, format = 'YYYY-MM-DD HH:MM:SS') {
  if (!timeStr) return ''; // 处理空值

  // 将字符串转为 Date 对象（兼容带时区的格式）
  const date = new Date(timeStr);

  // 处理无效时间
  if (isNaN(date.getTime())) return '';

  const year = date.getFullYear();
  const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始，补0
  const day = String(date.getDate()).padStart(2, '0');
  const hours = String(date.getHours()).padStart(2, '0');
  const minutes = String(date.getMinutes()).padStart(2, '0');
  const seconds = String(date.getSeconds()).padStart(2, '0');

  // 替换格式字符串
  return format
    .replace('YYYY', year)
    .replace('MM', month)
    .replace('DD', day)
    .replace('HH', hours)
    .replace('MM', minutes) // 注意：这里和月份重复，但格式字符串中会按顺序匹配
    .replace('SS', seconds);
}
